#pragma once

#include "GameTypedefs.h"
/**
=============================================================
Handles loading of a map,  a map consists of:
entities,       --> Anything that is in the map excluding static geometry
triggers,       --> Scripts in the map
=============================================================
*/
class MFile;
class MapImport
{
public:
    MapImport(void);


    /** Load a new map */
    bool    OpenStream( const std::string &mapFile );

    /** Load the Entities */
    type_EntList    LoadEntities();

private:
    /** Check the version */
    bool    CheckFileVersion( const std::string &v );
    /** Read the next entity */
    BaseEntity* ReadNext( MFile* file );
    std::string         m_fileName;         // strick name of the map


    static const std::string    VERSION;           // Current version of the map files


public:
    virtual ~MapImport(void);
};
